This invention relates generally to the field of electronic circuit design. More specifically, this invention relates to electronic circuits which have a reprogrammable function. More specifically still, the present invention relates to reprogrammable electronic circuits which can function as reconfigurable logic circuits.
Reconfigurable computing logic describes the ability to transform the functionally of a Boolean function from let us say a logic AND gate to a logic OR gate functionality without physical rewiring and vice versa. Today, this type of logic reconfiguration is not possible as the operational functionality of transistors, resistors, capacitors, and inductors is fixed and electronically unchangeable. However, there exists a new electronic device whose impedance state is electronically variable and non-volatile. The name of such device is the memristor. The electronic operational and behavioral characteristics of memristor devices have been reported recently in the literature by the authors [2]. Pino and Bohl have described mathematically that memristors can operate within a range of impedance states bounded by a maximum, RHigh, and minimum. RLow, resistance values. The switching characteristics of the memristor devices between their ON and OFF states, RHigh and RLow, are governed by discrete threshold voltages, VHigh and VLow, that switch the device ON and OFF respectively [1]. In addition, the memristor device whose name stands for memory resistor is of particular interest because it is a passive device that when power is turned off, it remembers its previous impedance state [3][4][5].
Digital computing architectures that can reconfigure computing logic to (transform the functionality of a Boolean function) are known in the prior art. However, for these methods to be effective they would require one or more of the following: a high degree scalability, non-volatile memory, reconfiguration of the logic functions that is not reliant on software control and external memory.
In a context of circuitry and computing logic, as utilized herein, the term scalable, alone or in combination, means the capability of a circuit to handle an increased demand of work in a graceful manner.
U.S. Pat. No. 7,439,766 B2 to Schmit et al. discloses a method for a configurable logic circuit capable of performing different logic functions on the input data to produce output data. By having at least two configuration data sub-sets, configuring a logic circuit is achievable. This method has the disadvantage, however, in that it is not scalable, it relies upon software to reconfigure the logic functions and it requires external memory because the memory element in its FPGA is volatile.
U.S. Pat. No. 7,545,013 B2 to Sugahara et at discloses a method to provide a non-volatile reconfigurable logic circuit. Reconfiguration of the logic function is achieved by varying the driving force of the transistors through the control of the magnetization state of the spin transistors. Non-volatility is achieved because the magnetization states do not change when the power is cut off. The logic circuit reconfigures logic functions in terms of hardware, and therefore the use of software is not required for reconfiguration. This method has the disadvantage, however, in that it does not scale.
U.S. Pat. No. 7,796,423 B2 to Sugiyama et at discloses a method to perform complex logic functions in a reconfigurable logic circuit. Non-volatility is achieved by using spin MOSFETs (metal-oxide-semiconductor field-effect transistor) because they contain non-volatile magnetic memory. Use of an external memory is not required. This method has the disadvantage, however, in that it does not scale and it requires software to reconfigure logic functions.
U.S. Pat. No. 7,851,877 B2 to Tanaka et at discloses a method to reconfigure logic functions in a non-volatile manner by changing the magnetization direction of the single-electron spin transistor. No external memory is required. This method also has the disadvantage in that it does not scale.
Non Patent Reference to Rajendran et al. discloses a method of implementing all 2-input and 3-input Boolean functions by varying the values of the inputs for the memristor device. This method does not require external memory. This method has the disadvantage, however, in that it uses current mirror circuits which continuously consume current, rendering this method not scalable, and it requires software to choose the optimal memristance value.
Non Patent Reference to Xia et al. discloses a method of wiring logic gates using memristors in a FPGA-like circuit. By using memristors, non-volatility can be achieved. This method has the disadvantage, however, in that it does not scale; it requires software to reconfigure the logic functions and the reconfiguration of the logic function is not optimal in that the selection of a logic function is based on the path taken from the wiring of the logic gates.
What is lacking in the prior art, therefore, is computing logic circuitry that is capable of being electronically reconfigured to perform various Boolean functions in a scalable fashion and that will retain its reconfigured state in the absence of applied current or voltage.